This invention relates to a technique for routing telephone calls in a packet-based network.
Traditional telecommunications networks typically use dedicated circuits to carry telephone traffic between facilities. Within such traditional networks, switching systems, such as the 4ESS switching systems used by ATandT, route calls by setting up a circuit that lasts the entire duration of the call and then tearing down the circuit thereafter. For this reason, such traditional networks are commonly referred to as xe2x80x9ccircuit-switchedxe2x80x9d networks. Increases in traffic and capacity constraints on existing switches within such circuit-switched networks has prompted the development of packet-based networks utilizing Asynchronous Transport Mode (ATM) switches at their core. Within such packetized networks, core ATM switches route packetized calls to and from switches at the edge of the network that exchange traffic with sources such as local exchange carriers, international carriers and direct nodal subscribers. Unlike conventional circuit switches, ATM switches afford the advantage of allocating resources (e.g., time slots) only at packet transfer, rather than for the entire duration of a call. Moreover, packet-based networks can more easily make use of a relatively small number of high bandwidth paths, as compared to the larger number of circuits needed to make connections between switches in conventional circuit-switched networks.
Traditional switches in circuit-switched networks employ one or more of several well-known techniques for routing calls. One such technique is xe2x80x9cSuccess to the Topxe2x80x9d (STT) routing whereby an originating switch initially attempts to route a call to a terminating switch over a direct link (if it exists) between the switches. When a direct link is unavailable, the originating switch looks for a link through an intermediate (via) switch. The originating switch initially selects the via switch that most recently carried a call successfully between the originating and terminating switches. The originating switch selects the most recently successful via switch on the premise that such a via switch, once previously successful, can successfully route a subsequent call in the same manner as before.
If the most recently successful via switch is incapable of routing the call, then that via switch indicates its unavailability by sending a message, often referred to as a release or crankback message, to the originating switch. Thereafter, the originating switch searches for a next successful via switch. If the originating switch receives a crankback message from a via switch in this search, the originating switch continues its hunt for a next successful via switch. As may be appreciated, the Success to the Top (STT) routing method gets its name from the use made by the originating switch of the most recently successful via switch.
While the STT routing method is applied within conventional circuit-switched a networks, packet-based networks do not generally use this type of routing. In circuit switched networks that use STT routing, the routing decisions generally depend on the transport capacity of the paths between switches. Generally speaking, the virtual paths that link switches in packet-based networks typically possess sufficient capacity so utilizing transport capacity as the criterion for selecting the most recently successful via switch for routing has not proven useful in efforts to apply STT routing in packet networks.
Other techniques for routing calls in circuit-switched networks include Class-of-Service (COS) routing that takes account of the particular class or type of call when making routing decisions. Typically, with COS routing, different classes of calls receive different priorities. Thus, for example, certain classes of calls, such as those associated with xe2x80x9ckeyxe2x80x9d service, receive high priority while other classes of class receive lower priority. When selecting a trunk for routing, an originating circuit switch examines both the call priority, as well as the transport capacity needed to carry the call. As with STT routing, COS routing determinations generally depend on the transport capacity, a criterion that is generally not of concern in packet networks. For that reason COS routing is not generally employed in packet-based networks, however in the present invention COS routing techniques are extended to packet-based networks.
Briefly, the present invention provides a method for routing telephone calls in a packet network between an originating switch and a terminating switch using a combination of Success to the Top and Class of Service routing techniques. In accordance with the invention, an originating switch (i.e., a switch receiving a call within the network destined for another switch, hereinafter, a xe2x80x9cterminatingxe2x80x9d switch) first checks for an available direct path to the terminating switch. In other words, the originating switch determines whether a direct path exists to the terminating switch, and whether that direct path possesses an available bandwidth sufficient to carry the call in accordance with its particular class of service. In determining if available bandwidth exists, the originating switch establishes a measure of the existing traffic on the path to establish its load state. From the load state of the path, the originating switch determines whether the direct path possess the requisite bandwidth to carry a particular call in accordance with its class of service. If so, the originating switch routes the call on the direct path to the terminating switch.
Otherwise, if a direct path is not available, then the originating switch searches for a path through a via switch by searching for the via switch that most recently successfully carried a call from the originating switch. Having identified the most recently successful switch, the originating switch determines whether its path to that via switch has an available bandwidth to carry the call in accordance with the class of service of that call. If the path to the most recently successful via switch has sufficient bandwidth to carry the call, then that via switch determines whether its path to the terminating switch has the available bandwidth to carry the call in accordance with the class of service of that call. If so, then that via switch passes the call from the originating switch to the terminating switch.
In the event of a lack of an available path linking the most-recently successful via switch and the terminating switch, the via switch sends a message, which may be a release or crankback message, to the originating switch. Upon receipt of the message, or upon determining the lack of an available path from the originating switch to the most recently successful via switch, the originating switch hunts for a next successful via switch. The originating switch determines whether a path exists to a next candidate via switch and has sufficient available bandwidth. If so, then that via switch determines whether it has a path to the terminating switch with available bandwidth. Should the next most recently successful via switch lack the ability to route the call to the terminating switch, the originating switch will continue searching for a successful via switch through which to route the call until the list of possible via switches is exhausted.